A typical video surveillance application comprises many cameras, camera network switches, recording servers, storage system and video management software (VMS). The goal of this kind of applications is to provide situational awareness not only allowing a small number of individuals (e.g., guards) to monitor a broad expanse of physical plant and/or property, but also to provide a recoverable record of events that might have occurred. This capability helps to better understand what happened and facilitates compliance, recovery, arbitration of disputes and improvement of flawed procedures. Therefore, one of the most important goals is to make sure that video streams from cameras are recorded properly onto storage systems, and relevant video data are retained for the required amount of time for future recovery.
A problem encountered in a video surveillance infrastructure is how to efficiently measure retention in a way that is applicable to a broad variety of installations, using different software and different numbers and kinds of cameras with different codecs et cetera. Most Video Management Software (VMS) applications have a base storage path on a per camera basis which is a volume (e.g., a mounted drive such as “E:” on a Windows system) and directory path of where data from the associated camera is stored by the system. Some have a “fast” storage path and then a slower “archive” storage path. This allows more expensive, faster drives to be used for live recording and less expensive, slower drives to be used for longer-term storage of video data. Within the path, there may be additional subdirectories associated with how the VMS organizes the video data, often by date or time but could be on other criteria.
The challenge, given this storage location information, is to determine the retention window of the camera and, in aggregate, the overall video surveillance application for a particular server, at a particular site or for an organization as a whole. Currently, for nearly every VMS, determining retention is a manual process. Operators are forced to manually review and sample the recorded video to see if the video data available on disk satisfy the retention requirement.
Some algorithmic approaches simply check for the oldest file in the camera storage path hierarchy, which is not a reliable measure. This is because some VMSs will store clips of interest in these same locations. A clip of interest comprises a sequence of video data that an operator has tagged as “do not delete” for various reasons, for example, a reason associated with an investigation of some kind. This means that an “oldest-file” measurement would incorrectly measure a system as having an arbitrarily long retention window when, in truth, the system has been deleting younger data to allow for this older data to stay in the storage system.
One might also imagine a measurement algorithm that looks for days of continuous storage and the first day in the past that has no data would be considered the bounding edge of a retention window. However, a camera with motion detection associated with it in something like a supply room that has no exterior windows could easily go through long periods where there may be no data associated with it (e.g., over weekends and holidays when nobody enters the room). Intelligently determining relevance of data to be stored so that retention policy is not violated but storage capacity is not exceeded is a challenging balancing act.
What is needed is a method and system for efficiently calculating a metric based on actual days of retention in a given video recording system relative to a retention goal of an organization. The methods of calculating retention should be done in an efficient enough way so as to be practical for ongoing operations, i.e. the disruptive impact on an operational system should be minimal.